home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc756.txt < prev    next >
Text File  |  1994-08-01  |  23KB  |  682 lines

  1.  
  2. RFC: 756                                                July 1979
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.     The NIC Name Server--A Datagram Based Information Utility
  13.  
  14.                          by
  15.  
  16.    John R. Pickens, Elizabeth J. Feinler, and James E. Mathis
  17.  
  18.  
  19.  
  20.  
  21.                             July 1979
  22.  
  23.  
  24.  
  25.                         SRI International
  26.                Telecommunications Sciences Center
  27.                          333 Ravenswood
  28.                   Menlo Park, California 94025
  29.  
  30. (Also published in Proceedings of the Fourth Berkeley Conference
  31. on Distributed Data Management and Computer Networks)           
  32. NIC Name Server                                         July 1979
  33.  
  34.  
  35.  
  36.                             Abstract
  37.  
  38.  
  39.   In this paper a new method for distributing and updating host
  40. name/address information in large computer networks is described.
  41. The technique uses datagrams to provide a simple
  42. transaction-based query/response service.  A provisional service
  43. is being provided by the Arpanet Network Information Center (NIC)
  44. and is used by mobile packet radio terminals, as well as by
  45. several Arpanet DEC-10 hosts.  Extensions to the service are
  46. suggested that would expand the query functionality to allow more
  47. flexible query formats as well as queries for service addresses.
  48. Several architectural approaches with potential for expansion
  49. into a distributed internet environment are proposed.  This
  50. technique may be utilized in support of other distributed
  51. applications such as user identification and group distribution
  52. for computer based mail.
  53.  
  54.  
  55.  
  56. 1. INTRODUCTION
  57.  
  58.   In large computer networks, such as the Arpanet [1],
  59. network-wide standard host-addressing information must be
  60. maintained and distributed.  To fulfill that need, the Arpanet
  61. Network Information Center (NIC) at SRI International has
  62. maintained, administered, and distributed the host addressing
  63. data base to Arpanet hosts since 1972 [2].
  64.  
  65.   The most common method for maintaining an up-to-date copy on
  66. each host is to bulk-transfer the entire data base to each host
  67. individually.  This technique satisfies most host addressing
  68. needs on the Arpanet today.  However, some hosts maintain neither
  69. a complete nor a current copy of the data base because of limited
  70. memory capacity and infrequent processing of updates.  In
  71. addition, with the expansion of the Arpanet into the internet
  72. environment [3, 4], a strong need has arisen for new techniques
  73. to augment the distribution of name/address information.
  74.  
  75.   One method currently being investigated is the dynamic
  76. distribution of host-address information via a transaction-based,
  77. inquiry-response process called the Name Server [5, 6].  To
  78. support this investigation, the NIC has developed a provisional
  79. Name Server that is compatible with a level of service specified
  80. in the Defense Advanced Research Projects Agency (DARPA) Internet
  81. experiment [5].  The basic Name Server is described in this paper
  82. and a set of additional functions that such a service might be
  83. expected to support is proposed.
  84.  
  85.   The discussion is structured as follows:  Section 1 describes
  86. the NIC Name Server and how it is derived from the NIC data base
  87. service.  Section 2 describes extensions of the name server which
  88. allow a richer syntax and queries for service addresses.  Section
  89.  
  90. SRI International                                        [Page 1]
  91. July 1979                                         NIC Name Server
  92.  
  93.  
  94.  
  95. 3 discusses architectural issues, and presents some preliminary
  96. thoughts on how to evolve from the current centralized,
  97. hierarchic service to a distributed Name Server service.
  98.  
  99.  
  100.  
  101. 2. THE NIC NAME SERVER
  102.  
  103.   A Name Server service has been installed on SRI-KA, an Arpanet
  104. DEC-10.  Inquiry-response access is via the Internet Name Server
  105. protocol [5], which in turn employs the DARPA Internet Protocol,
  106. IP4 [7].
  107.  
  108.   To demonstrate the service a simple interactive facility is
  109. provided to format user input into name server requests--e.g. a
  110. query of the form !ARPANET!FOO-TENEX returns an address such as
  111. "10 2 0 9" (NET=10, HOST=2, LOGICALHOST=0, IMP=9; for details of
  112. host address formats see [8]).
  113.  
  114.   User access to the name server has been implemented on several
  115. Arpanet DEC-10 TENEX and Packet Radio Network LSI-11 Terminal
  116. Interface Unit (TIU) hosts [9, 10].  While the TENEX program
  117. serves primarily as a demonstration vehicle, the LSI-11 program
  118. provides a valuable augmentation of the TIU's host table.  A
  119. typical scenario is that when the packet radio TIU is initiated
  120. or initialized, it contains only a minimal host table, with the
  121. addresses of a few candidate name servers.  The user queries the
  122. name server with a simple manual query process, and then uses the
  123. address obtained to open a TELNET connection to the desired host.
  124.  
  125.   The information to support the name server originates from the
  126. NIC's Arpanet host address data base.  An optimized version of
  127. this data base is presented to the name server upon program
  128. initiation as an input file.
  129.  
  130.  
  131.  
  132. 3. NAME SERVER ISSUES
  133.  
  134.   The basic name server provides a simple address-binding service
  135. [5].  In response to a datagram query [7, 11], the name server
  136. returns either an address, a list of similar names if a unique
  137. match is not found, or an error indication.  Several useful
  138. additional functions can be envisioned for the name server such
  139. as service queries and broader access to host-related
  140. information.
  141.  
  142.  
  143. 3.1. Similar Names
  144.  
  145.   An important issue to be resolved is that of the interpretation
  146. given to the "similar names" response.  A standard definition
  147. should be given and not be left to implementors' whims.
  148.  
  149. [Page 2]                                        SRI International
  150. NIC Name Server                                         July 1979
  151.  
  152.  
  153.  
  154.   If the "similar names" response is used primarily to provide
  155. helpful information to a human-interface process, then it may be
  156. useful to model the behavior of the name server on the behavior
  157. of other known processes that present host name information on
  158. demand.  An example of this is a common implementation of virtual
  159. terminal access on the Arpanet, User TELNET [12], in which three
  160. different functions occur:
  161.  
  162.   1. Upon termination of host name input (e.g. <CR>), the
  163.      user is warned only with an audible alarm if the name
  164.      used is not unique.  If the name is unique, the name is
  165.      completed, and the requested operation is initiated.
  166.  
  167.   2. In response to <ESC>, either the name will be completed
  168.      if unique or the user will be warned with an audible
  169.      alarm if the name is not unique.
  170.  
  171.   3. Only in response to "?" will a list of similar names be
  172.      printed.  "Similar names", in this case, means all
  173.      names that begin with the same character string.  The
  174.      list is alphabetized.
  175.  
  176.   In support of this style of user interface, it may be
  177. appropriate to return the "similar names" response only when
  178. requested.  Two ways to achieve this might be either to set an
  179. option bit or to use "?" to force the similar names response.
  180.  
  181.  
  182. 3.2. Query Syntax
  183.  
  184.   A second issue in the provision of name server service is that
  185. of query syntax.  The basic level of service previously described
  186. allows only a few query functions.  With more intelligent name
  187. servers, complex queries can be supported.
  188.  
  189.   The current Internet name server requires two fields in the
  190. query string--a network name field and a host name field.  If the
  191. network field is non-existent, a local network query is assumed.
  192.  
  193.   Since network independent queries are desirable, an expanded
  194. query functionality must be specified.  One way this might be
  195. done is to add to the notion of "missing field", which means
  196. "local", the notion of a special character like "*", which means
  197. "all".
  198.  
  199.   The semantic range of queries afforded by adopting this
  200. convention is listed below (Note: ~ is used to mean "null".  If
  201. both network and host fields are null the representation is "~
  202. ~".  "N" means "network" and "H" means "host"):
  203.  
  204.  
  205.  
  206.  
  207.  
  208. SRI International                                        [Page 3]
  209. July 1979                                         NIC Name Server
  210.  
  211.  
  212.  
  213.  
  214. ~  ~    local net, local host (validity check?)
  215.  
  216. ~  *    local net, all hosts
  217.  
  218. ~  H    local net, named host
  219.  
  220. *  ~    all nets, local host (inverse search)
  221.  
  222. *  *    all nets, all hosts (probably prohibited)
  223.  
  224. *  H    all nets, named host
  225.  
  226. N  ~    named net, local host (inverse search)
  227.  
  228. N  *    named net, all hosts
  229.  
  230. N  H    named net, named host
  231.  
  232.   By combining the on-demand similar-names function, "all" and
  233. "local", and by allowing "*" to be prefixed or appended to the
  234. query string as a wild card character, one can query as follows:
  235.  
  236.  
  237. ~  SRI*?        All hosts named SRI* on local net
  238.  
  239. *  SRI*?        All hosts named SRI* on all nets
  240.  
  241. *  *UNIX*?      All hosts named *UNIX* on all nets
  242.  
  243.  
  244. 3.3. Service Queries
  245.  
  246.   It has been suggested that the name server be generalized into
  247. a binding function [13, 14].  In this context, allowing service
  248. queries is a very useful extension.  One application of this
  249. service, that exists within the Packet Radio Project at SRI, is
  250. the need to find the addresses of Hosts that support the
  251. LoaderServer service--a service that allows packet radio TIUs to
  252. receive executable programs via downline loading.
  253.  
  254.   Service querying, unlike host names querying, requires a
  255. multiple response capability.  The querying process would, upon
  256. receiving multiple service descriptors, attempt to establish
  257. access to each service, one at a time, until successful.
  258.  
  259.   Service descriptors consist of an official name, a list of
  260. alias names, and a network-dependent address.  In the case of
  261. Arpanet Internet services, this address field would consist of
  262. the host address(32 bits), port(32 bits), and protocol number(8
  263. bits).  For Arpanet NCP services, the address would consist of a
  264. host address(24 bits) and a socket(32 bits).
  265.  
  266.  
  267. [Page 4]                                        SRI International
  268. NIC Name Server                                         July 1979
  269.  
  270.  
  271.  
  272.   Syntactically, service queries can be derived from host queries
  273. by the addition of a service name field, as below:
  274.  
  275.                         NET HOST SERVICE
  276.  
  277.   A network-independent service query, for example, can be
  278. represented as:
  279.  
  280.                            * * SERVICE
  281.  
  282.  
  283. 3.4. Name Server Options
  284.  
  285.   The concept of options has been introduced in the discussion of
  286. the "similar names" function.  Another group of options may be
  287. used to specify the format of the reply.  At one extreme is the
  288. compact, binary, style such as exists in the basic level of
  289. service.  At the other extreme is an expanded, textual, style
  290. such as is represented by a NIC host table record with official
  291. and alias names included.  Options can be envisioned that
  292. specify:
  293.  
  294.    - Binary versus text format
  295.  
  296.    - Inclusion of each field in the reply
  297.  
  298.    - Inclusion of official name, per field, in the reply
  299.  
  300.    - Inclusion of alias names, per field, in the reply
  301.  
  302.    - Inclusion of other miscellaneous information, such as
  303.      operating system, machine type, access restrictions,
  304.      and so on.
  305.  
  306. Other options can be envisioned that specify the scope of the
  307. search, such as "find SERVER hosts only".  An alternate form for
  308. specifying formats might be to settle on several standard ones,
  309. and allow an option to select among them.
  310.  
  311.   Certainly, not all name servers can support all such options,
  312. and not all options are equally useful.  Thus, the proposed list
  313. will be expanded or contracted to fit the actual needs of
  314. processes using the name server service.
  315.  
  316.  
  317. 3.5. MORE DATA Protocol
  318.  
  319.   It should be noted that some of the proposed name server
  320. extensions have the potential for generating more than a single
  321. datagram's worth of reply, since the current DARPA Internet
  322. Protocol limits the size which all networks must support to 576
  323. octets [15].  In spite of this, the size of such replies need not
  324. require a full-blown stream protocol.  Several alternatives
  325.  
  326. SRI International                                        [Page 5]
  327. July 1979                                         NIC Name Server
  328.  
  329.  
  330.  
  331. exist:
  332.  
  333.   1. Disallow options that imply large replies.
  334.  
  335.   2. Truncate the packet for large replies.
  336.  
  337.   3. Ignore the recommended maximum datagram size.
  338.  
  339.   4. Utilize an alternate base protocol for such requests.
  340.  
  341.   5. Develop a MORE DATA protocol.
  342.  
  343. If alternative 1 is chosen, the potential for overflow exists,
  344. even with the basic level of service.  Alternative 2 implies
  345. unpredictable behavior to the user of the name server service.
  346. Alternative 3 reduces the availability of the service.
  347. Alternative 4 is certainly possible, but may be overkill.
  348.  
  349.   Alternative 5 appears to be a reasonable solution and could be
  350. implemented very simply.  The name server could return, as part
  351. of the reply, a code of the following form:
  352.  
  353.                        +------+---------+
  354.                        | MORE | ID_NEXT |
  355.                        +------+---------+
  356.  
  357. where ID_NEXT is a name-server-chosen quantity that allows the
  358. name server to find the next block of reply, the next time it is
  359. queried.  This quantity may be an internal pointer, a block
  360. number, or whatever the name server chooses.  Follow-on queries
  361. may be implemented by recomputing the entire original query and
  362. discarding output until the ID_NEXT block is reached, or by
  363. efficiently storing the entire reply in a cache, fragmented into
  364. blocks (with appropriate decay algorithms).
  365.  
  366.  
  367. 3.6. Dynamic Updates
  368.  
  369.   In the previous discussion, the host name data base was assumed
  370. to have been a static or slowly changing entity with an
  371. administrative and manual update authority.  This model reflects
  372. most of the network needs in the Arpanet and Internet
  373. communities.  However, dynamic automated updating of the host
  374. table may be needed in the future, especially in mobile
  375. environments such as the Packet Radio Network.
  376.  
  377.   In a closed user group community (such as a local network of
  378. mutually trusting hosts), dynamic updating becomes simply a
  379. technical question concerning packet formats.  In wider
  380. communities, a mechanism to authenticate the change request must
  381. be developed; however, the authentication issue is outside the
  382. scope of this paper.
  383.  
  384.  
  385. [Page 6]                                        SRI International
  386. NIC Name Server                                         July 1979
  387.  
  388.  
  389.  
  390. 4. ARCHITECTURE
  391.  
  392.   The Name Server concept is invaluable for allowing hosts with
  393. incomplete knowledge of the network address space to obtain full
  394. access to network services.  Whether for reasons of insufficient
  395. kernel space or of dynamically changing environments, the need
  396. for the service is little questioned.  However, significant
  397. design issues revolve around the methods for providing the
  398. service and for administering and updating the data base.
  399.  
  400.   In the current NIC Name Server, the service is centralized, and
  401. is supported by a data base administered by a single authority.
  402. In the long range, other architectures are possible that present
  403. more flexible ways to distribute host information within and
  404. between networks and administrative entities.  These present
  405. opportunities for dynamic, automated, approaches to the
  406. maintenance and sharing of data--particularly host name data.
  407.  
  408.   From an evolutionary point of view, initial Name Server
  409. services will likely exist as a centralized service, possibly
  410. with one large Name Server that has knowledge of multiple
  411. networks.  From this beginning, an expansion in two orthogonal
  412. directions can be envisioned.
  413.  
  414.    - In the direction of internal distribution, the name
  415.      server can be partitioned into multiple, cooperating
  416.      processes on separate hosts.  The data base can be
  417.      replicated exactly or managed as a distributed data
  418.      base.
  419.  
  420.    - In the direction of administrative distribution,
  421.      multiple autonomous name servers may exist that
  422.      exchange data in an appropriate fashion, on a per
  423.      network or other administrative basis.
  424.  
  425.   For hosts with small host tables, caching might be used,
  426. whereby local, temporary copies would be maintained of subsets of
  427. the addressing data base.  Such copies may be obtained either by
  428. remembering previous queries made of name servers, or by
  429. receiving automatic distributions of data from name servers.  For
  430. mobile hosts, in which even the home network is unknown, it would
  431. be possible to maintain a very sparse table with the addresses of
  432. only a few name servers.
  433.  
  434.   For hosts lacking even the knowledge of name server addresses,
  435. a very primitive name server function can be provided by all
  436. network hosts that would allow real name servers to be located;
  437. e.g., a query of the form "*  *  RealNameServer" addressed to an
  438. arbitrarily selected host could elicit the address of a real Name
  439. Server.
  440.  
  441.   Finally, the possibility exists for multiple name servers to
  442. communicate dynamically in attempting to resolve queries.  If,
  443.  
  444. SRI International                                        [Page 7]
  445. July 1979                                         NIC Name Server
  446.  
  447.  
  448.  
  449. for example, a name server on the Arpanet receives a query for a
  450. host on the Packet Radio Network, then the Arpanet name server
  451. can conceivably query the Packet Radio Network Name Server to
  452. resolve the reply.
  453.  
  454.  
  455.  
  456. 5. FUTURE WORK
  457.  
  458.   The techniques discussed in this paper for providing dynamic
  459. access to and maintenance of host address information are
  460. generally applicable to other information-providing services.
  461. Two possibilities currently under investigation at SRI include
  462. user identification servers [16] and time servers, which offer
  463. people/address and time-stamp information, respectively, as
  464. datagram driven information utilities.
  465.  
  466.   Further work is needed to refine the implementation of the name
  467. server and its using query processes.  Two items in particular
  468. are direct system calls into the NIC data base management system
  469. for general access to host information and process-level query
  470. interfaces for using processes.  The design issues for efficient
  471. implementation are complex and involve some trade-offs.  The most
  472. obvious trade-off is volume of network traffic versus "freshness"
  473. of information. The local host table handler can either send a
  474. message to the name server for every address request, or it can
  475. use some type of local cache to remember frequently requested
  476. names.  SRI is exploring both the process-level interface for the
  477. LSI-11 TIU and the problems of local host table management in
  478. small machines operating in a dynamic environment.
  479.  
  480.   Information services such as the Name Server are integral
  481. components of distributed systems and applications.  However, the
  482. effective utilization of such services is a relatively unstudied
  483. and unexplored area.  One area in which SRI plans to study their
  484. impact on distributed architectures is in computer based mail
  485. applications.  Information utilities in this environment can
  486. range from the support of simple mailbox address queries to
  487. complex address list management needed for inter-organizational
  488. and group resolution.
  489.  
  490.  
  491.  
  492. 6. CONCLUSION
  493.  
  494.   A provisional Name Server service, based on the NIC host
  495. address data base was described in this paper.  In addition, a
  496. collection of design ideas for an internet Name Server service
  497. has been presented.
  498.  
  499.   Work is continuing on the refinement of the NIC name server
  500. service.  New requirements and opportunities for functional
  501. distribution are being investigated.  Many questions have been
  502.  
  503. [Page 8]                                        SRI International
  504. NIC Name Server                                         July 1979
  505.  
  506.  
  507.  
  508. raised in exploring an expansion of the existing service. Such an
  509. expansion is expected to result in more useful support of
  510. internet (and intranet) capability.
  511.  
  512.  
  513.  
  514. REFERENCES
  515.  
  516. 1.    L. G. Roberts and B. D. Wessler, "Computer Network
  517.       Development to Achieve Resource Sharing," in Proceedings of
  518.       SJCC, pp. 543-549 (AFIP, 1970).
  519.  
  520. 2.    M. D. Kudlick and E. J. Feinler, Host Names On-line, RFC
  521.       608, Stanford Research Institute, Menlo Park, California
  522.       (January 1974).
  523.  
  524. 3.    V. G. Cerf and R. E. Kahn, "A Protocol for Packet Network
  525.       Interconnection," IEEE Transactions on Communication
  526.       Technology, Vol. COM-22, pp. 637-641 (1974)._
  527.  
  528. 4.    V. G. Cerf and P. T. Kirstein, "Issues in Packet-Network
  529.       Interconnection," Proc. IEEE, Vol. 66, No. 11, pp.
  530.       1386-1408 (November 1978).
  531.  
  532. 5.    J. Postel, Internet Name Server, IEN 89, Information
  533.       Sciences Institute, Univ. of Southern Calif., Marina Del
  534.       Rey, California, May 1979.
  535.  
  536. 6.    J. R. Pickens, E. J. Feinler and J. E. Mathis, An
  537.       Experimental Network Information Center Name Server
  538.       (NICNAME), IEN 103, SRI International, Menlo Park,
  539.       California (May 1979).
  540.  
  541. 7.    J. Postel, Internet Protocol, IEN 81, Information Sciences
  542.       Institute, Univ. of Southern Calif., Marina Del Rey,
  543.       California (February 1979).
  544.  
  545. 8.    J. Postel, Address Mappings, IEN 91, Information Sciences
  546.       Institute, Univ. of Southern Calif., Marina Del Rey,
  547.       California (May 1979).
  548.  
  549. 9.    R. E. Kahn, "The Organization of Computer Resources into a
  550.       Packet Radio Network," IEEE Transactions on Communications,
  551.       Vol. COM-25, No. 1, pp. 169-178 (January 1977).
  552.  
  553. 10.   R. E. Kahn, S. A. Gronemeyer, J. Burchfiel, and R. C.
  554.       Kunzelman, "Advances in Packet Radio Technology," Proc.
  555.       IEEE, Vol. 66, No. 11, pp. 1468-1496 (November 1978).
  556.  
  557. 11.   J. Postel, User Datagram Protocol, IEN 88, Information
  558.       Sciences Institute, Univ. of Southern Calif., Marina Del
  559.       Rey, California (May 1979).
  560.  
  561.  
  562. SRI International                                        [Page 9]
  563. July 1979                                         NIC Name Server
  564.  
  565.  
  566.  
  567. 12.   E. Leavitt, TENEX USER'S GUIDE, Bolt Beranek and Newman,
  568.       Inc., Cambridge, Massachusetts.
  569.  
  570. 13.   R. Bressler, A Proposed Experiment With a Message Switching
  571.       Protocol (section on Information Operator), pp. 26-31, RFC
  572.       333, Bolt Beranek and Newman Inc, Cambridge, Mass. (May 15,
  573.       1972).
  574.  
  575. 14.   Y. Dalal, Internet Meeting, January 24,25 1979, (Group
  576.       Discussion).
  577.  
  578. 15.   J. Postel, Internet Meeting Notes - 25,26 January 1979, pp.
  579.       12, IEN 76, Information Sciences Institute, Univ. of
  580.       Southern Calif., Marina Del Rey, California (February
  581.       1979).
  582.  
  583. 16.   E. J. Feinler, "The Identification Data Base in a
  584.       Networking Environment," in NTC '77 Conference Record, pp.
  585.       21:3 (IEEE, 1977).
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621. [Page 10]                                       SRI International
  622. NIC Name Server                                         July 1979
  623.  
  624.  
  625.  
  626.                         Table of Contents
  627.  
  628. 1. INTRODUCTION                                                 1
  629. 2. THE NIC NAME SERVER                                          2
  630. 3. NAME SERVER ISSUES                                           2
  631.      3.1. Similar Names                                         2
  632.      3.2. Query Syntax                                          3
  633.      3.3. Service Queries                                       4
  634.      3.4. Name Server Options                                   5
  635.      3.5. MORE DATA Protocol                                    5
  636.      3.6. Dynamic Updates                                       6
  637. 4. ARCHITECTURE                                                 7
  638. 5. FUTURE WORK                                                  8
  639. 6. CONCLUSION                                                   8
  640. REFERENCES                                                      9
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680. SRI International                                        [Page i]
  681.  
  682.